import json #对象编码json；json解码对象
import logging #日志记录模块
import os.path #系统交互


class FileUtil:
    # 构造函数
    def __init__(self,path="") -> None:
        logging.debug("初始化对象保存文件目录。")
        self.path=path #文件路径

    # 判断文件是否存在
    def __exist(self,path:str):
        logging.debug("检查文件是否存在。")
        return os.path.exists(path=path)
    # 创建文件流
    def __createFile(self,mode="r",encoding="UTF-8"):
        logging.debug("创建文档io流。")
        if self.__exist(self.path):
            return open(self.path,mode=mode,encoding=encoding)
        return None
    # 关闭文件流
    def __closeFile(self,file):
        file.close()
    # 解析json文件
    def __loads(self,data:str):
        return json.loads(str(data).replace("\'","\""))
    # 编码文件
    def __dumps(self,data):
        return json.dumps(data)

    # 读取文件
    def readFile(self,decoding="UTF-8"):
        file=self.__createFile(mode="r",encoding=decoding)
        jsonData=file.readline()
        data=self.__loads(jsonData)
        self.__closeFile(file=file)
        return data
    # 写文件
    def writeFile(self,data="",encoding="UTF-8"):
        # 创建文本写入流对象
        file=self.__createFile(mode="w",encoding=encoding)
        # 编码写入数据
        endata=self.__dumps(data=data)
        # 写入本地文件
        result=file.writelines(endata)
        # 关闭文本写入流对象
        self.__closeFile(file=file)
        return result
        
if __name__=="__main__":
    path=r"E:\GitLocalRepo\python-demo\day02\restaurant\Resouces\manu.json"
    data=[{"id":1,"name":"回锅肉","单价":24},{"id":2,"name":"回锅肉","单价":24},{"id":3,"name":"回锅肉","单价":24}]
    fileUtil=FileUtil(path=path)
    # result=fileUtil.writeFile(data=data)
    # print(result)
    
    result=fileUtil.readFile()
    print(result)